package org.example.xsda.dto;

import lombok.Data;
import java.time.LocalDate;

/**
 * 学生异动申请DTO
 * 
 * 支持的异动类型：
 * - suspension: 休学申请
 * - transfer: 转学申请（转班/转系）
 * - return: 复学申请
 * - dropout: 退学申请
 */
@Data
public class StudentApplyDTO {
    
    // ❌ 不需要前端传studentId，后端会自动根据登录用户查询
    // /** 学生ID */
    // private Long studentId;
    
    /** 异动类型：suspension-休学 transfer-转学 return-复学 dropout-退学 */
    private String subType;
    
    /** 申请理由 */
    private String content;
    
    /** 附件ID列表（多个用逗号分隔）*/
    private String attachmentIds;
    
    /** 附件URL列表（多个用逗号分隔）*/
    private String attachmentUrl;
    
    /** 目标班级ID（转班时使用）*/
    private Long targetClassId;
    
    /** 目标院系ID（转系时使用）*/
    private Long targetDeptId;
    
    /** 开始日期（休学/复学时使用）*/
    private LocalDate startDate;
    
    /** 结束日期（休学/复学时使用）*/
    private LocalDate endDate;
    
    /** 优先级：0-普通 1-重要 2-紧急 */
    private Integer priority;
}

